|技术资源门户第一站|
入住:用户 密码


首  页 | 新闻动态 | 网页设计 | 图形图像 | 网络编程 | 电脑技术 | 资源下载 | 专题集锦 | 酷站展示 | 图库素材 | 原创投稿
论  坛 | 栏目待定 | 栏目待定 | 栏目待定 | 栏目待定 | 栏目待定 | 栏目待定 | 栏目待定 | 栏目待定 | 栏目待定 | 栏目待定
热 门 文 章
·(下)用Photoshop“组装”一只标
·微软宣布SQLServer2005功能及售价
·HTML简明手册 — 第十一章 脚本语
·四川风讯科技发展有限公司首届模
·完美之作:茶·咖啡·果汁
·HTML简明手册 — 第九章 样式
·腾讯宣布收购Foxmail
·下拉菜单全攻略之Dreamweaver篇
·ASP初学者常犯的几个错误
·Dreamweaver MX 2004 入门教程之
推 荐文 章
·【PS特训营】(1)《快速纹理》
·最新的技术-XSS(五)
·最新的技术-XSS(四)
·最新的技术-XSS(三)
·最新的技术-XSS(二)
·最新的技术-XSS(一)
·多媒体标记Shvatz 前景
·进入SMIL
·SMIL:多媒体标记
·XML未来的设计:未来的结构
栏目精华
相 关 文 章
  最新更新:  
 
全能搜索:
  开始时间  结束时间 
 
 您现在的位置:首页>网络编程>ASP>新闻
ASP编程入门进阶(五):内置对象Response
日期:2005-3-4 15:00:40     来源:网讯   编辑:本站 
通过对Request对象的学习,可以了解到,Request对象是服务器端用来获取客户端的信息的。
  但作为服务器和客户端进行交互,是不是还缺少服务器端向客户端发送信息呢?对象Response正是担任此责任。
  负责将信息传递给用户的对象就是Response了,它可动态地响应客户端的请求,并将动态生成的响应结果返回给客户端浏览器。
  一、Response.write
  在Response中write方法是使用最频繁的一个了,write就是写:将指定的字符串写到当前的 HTTP 输出。

  1.write.asp

<%
response.write("hello,world"&"<br>")
Randomize
response.write "任意数是"&rnd()&"<br>"
%>

  response.write后面为所显示的信息,可以用括号包含,也可以直接书写(注意和response.write之间有空格)。
  书写的字符串信息或者HTML代码相关,用引号包含;而ASP本身的函数或变量则不需要,直接用即可。
  并且无论字符串信息、HTML代码、函数还是变量之间进行连接都是采用&号(针对vbscript)。

  以上遇到一个随机函数rnd(),该函数返回一个小于 1 但大于或等于 0 的值。
  需要注意的是在调用 Rnd 之前,先使用无参数的 Randomize 语句初始化随机数生成器,该生成器具有基于系统计时器的种子。
  若缺少Randomize,则无法继续生成随机种子。

  下面一个利用随机函数的例子,产生随机背景颜色效果:

<script language=vbs>
Randomize                                    '首先Randomize产生随机种子
suij=rnd()                                   '接着将函数值赋变量suij
suij=replace(suij,".","9")                   '然后对变量suij中小数点符号转换为数字9
suij=left(suij,6)                            '再取变量中的左6位
document.write "<body bgcolor=#"&suij&">"    '最后应用到背景颜色中去
</script>

  当然要产生指定范围的随机整数,请使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
  这里, upperbound 是此范围的上界,而 lowerbound 是此范围内的下界。

<script language=vbs>
Do Until choose = vbNo
   value = Int((41 * Rnd) + 60)    '产生 60 到 100 之间的随机数。
   msgbox value
   choose = MsgBox ("Roll again? ", vbYesNo)
Loop
</script>

  随机函数在做考试系统的时候非常有用,当然你也可以用来自己摇奖,拿个头彩也分点我就行了。

  二、Response.end
  这是Response常用的一种方法,使 Web 服务器停止处理脚本并返回当前结果,文件中剩余的内容将不被处理。
  主要放在一页多功能的ASP页中,为让程序运行到此,抑或往下的程序没必要再执行显示……

  2.end.asp

<%response.write now()
response.end            '程序执行显示到此结束
response.write rnd()%>

  三、Response.clear
  该方法主要作用是清除缓冲区中的所有 HTML 输出,但该方法只清除响应正文而不清除响应标题。
该方法和end方法似相反,end是到此结束返回上面的结果,而clear却是清除上面的执行,然后只返回下面的结果。

  3.clear.asp

<%response.write now()
response.clear           '以上程序到此全被清除
response.write rnd()%>

  下面通过一个例子来仔细看看end and clear

  4.nd2clear.asp

<%
filepath=request.servervariables("script_name")
user=Request.Form("username")
pwd=Request.Form("password")
%>
<form method="POST" action="<%=filepath%>">
name:<input type="text" name="username"><br>
pwd:<input type="password" name="password"><br>
<input type="submit" value="submit">
</form>

<%
If user="cnbruce" and pwd="cnbruce" Then   
   response.write "采用clear方法,上面的程序结果将清除。"
   response.clear     ' 清空存储在缓存中的页面
Else
   response.write "采用end方法,下面的程序将停运。"
   Response.End ' 立即停止脚本处理,并将缓存中的页面输出
End If
%>
如果你只看到“刷新”链接就表明clear方法已经生效<br>
<a href="<%=filepath%>">刷新</a> 

  以上程序中,当输入用户名和密码同为cnbruce的时候会发现clear方法的处理结果,反之是另外一个效果。

  四、Response.redirect
  Redirect 方法是让浏览器立即重定向到程序指定的URL地址。这在根据客户的不同响应,为不同的客户指定不同的页面,或根据不同的情况指定不同的页面时,显得非常重要。
  该方法是立即生效的,在其后的脚本都不执行。

  5.edirect.asp

<%response.redirect("http://www.cnbruce.com/")%>

  以上四则运用属于Response对象的几个比较重要的方法:write、end、clear、redirect等当然方法还有:AddHeader、AppendToLog、BinaryWrite、Flush……
  早说过,一个ASP对象除了对象方法外,还有对象属性。

  那response对象的属性有哪些呢?

  五、Response.ContentType
  ContentType 属性指定服务器响应的 HTTP 内容类型。如果未指定 ContentType,默认为 text/html。

  6.ontenttype.asp(非text/html的)

<% Response.ContentType = "text/HTML" %>
<% Response.ContentType = "image/GIF" %>
<% Response.ContentType = "image/JPEG" %>
<% Response.ContentType = "text/plain" %>
<% Response.ContentType = "image/JPEG" %>

  六、Response.charset
  Charset 属性将字符集名称附加到 Response 对象中 content-type 标题的后面,用来设置服务器响应给客户端的文件字符编码。

  7.charset.asp

<% Response.charset = "big5" %>

  中文显示,但采用的big5繁体的编码,所以看到的是乱码。

  当然Response.ContentType和Response.charset应用得比较少了。直接在head头部属性里面添加就OK了。

  七、Response.expires
  该属性指定了在浏览器上缓冲存储的页,距过期还有多少时间。
  如果用户在某个页过期之前又回到此页,就会显示缓冲区中的页面。
  但若设置 response.expires=0,则可使缓存的页面立即过期。
  这是一个较实用的属性,当客户通过 ASP 的登陆页面进入 WEB 站点后,应该利用该属性使登陆页面立即过期,以确保安全。
  引用一个经典的例子。

  8.expires.asp

<%
Response.Expires = 0
Response.Expiresabsolute = Now() - 1
Response.AddHeader "pragma","no-cache"
Response.AddHeader "cache-control","private"
Response.CacheControl = "no-cache"
%>

  八、Response.status
  设置服务器要响应的状态行的值。Response.status="状态描述字符串",字符串可以为一个三位整数或一串说明文字组成,但必须防在<html>之前。

  9.status.asp

% Response.Status = "401 Unauthorized" %>

  九、Response.buffer
  比较重要的一个,值为true or false。该属性指示是否缓冲页输出。
  引用:当缓冲页输出时,只有当前页的所有服务器脚本处理完毕或者调用了 Flush 或 End 方法后,服务器才将响应发送给客户端浏览器,服务器将输出发送给客户端浏览器后就不能再设置 Buffer 属性。因此应该在 .asp 文件的第一行调用 Response.Buffer。

Response.buffer=true

  对于Response对象的属性和方法先到这里,剩下一个数据集合,即cookie。


特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑:本站 原始作者:
信息来源:网讯 录入时间:2005-3-4 15:00:40
浏览次数: 投稿信箱: Wooxun#126.com

  → 发表我的评论      → 查看评论(点击查看)
版权所有 2005-2006©www.woxun.com  维护QQ:8216238
设计版本:网讯中国 2005 VOL.1 程序核心:风讯2.0